package com.qs.sckill.service;

import com.qs.sckill.config.redis.base.KeyPrefix;

public interface RedisService {

    /**
     * 获取单个对象
     */
    <T> T get(KeyPrefix keyPrefix, String key, Class<T> claszz);

    /**
     * 设置对象
     */
    <T> boolean set(KeyPrefix prefix, String key, T value);

    /**
     * 判断key是否存在
     */
    boolean exists(KeyPrefix prefix, String key);

    /**
     * 增加值
     */
    Long incr(KeyPrefix prefix, String key);

    /**
     * 减少值
     */
    Long decr(KeyPrefix prefix, String key);

    /**
     * 删除key
     */
    void delete(KeyPrefix prefix, String key);

    /**
     * 对象转字符串
     */
    <T> String beanToString(T value);

    /**
     * 字符串转对象
     */
    <T> T StringToBean(String value, Class<T> clazz);
}
